When transmitting a series of messages between entities on a communication network, it may be necessary to ensure that each of the messages is recognised by the receiving entity as part of the message sequence. For example, in the SUA protocol, this may be achieved by using a routing context, whilst the TCAP protocol allows for inclusion of a transaction identifier (“TID”) in messages to be exchanged between entities. A further requirement which arises with connecting networks is that of ensuring messages from one network are correctly routed to a destination of the other network. A particular example of this is in the connection of networks using Internet protocol (IP) to the existing telephone switched circuit network (PSTN). Where the two networks use different technologies and protocols, it is necessary for identifiers to be appropriately transferred between the messages forwarded on each network.
An approach to providing a reliable connection between IP and SS7 networks has been proposed by the Internet Engineering Task Force (IETF). This includes M3UA, which is a protocol for the transport of any MTP3 signalling over IP, and SUA which defines the protocol for the transport of any SCCP User Part signalling over IP. Two main entities are defined: the signalling gateway (SG), which is the connection point between the SS7 and IP networks, and the application server (AS), which is the software application provided on the IP network which it is desired to make available over the SS7 network. The protocols may be used to connect SS7-based signalling end points (SEP) with an IP based AS thus allowing SS7 networks to access IP based applications.
A function performed by the signalling gateway is to receive SS7 signalling messages and direct them to the appropriate AS. To do so, the SG identifies a routing key (RK) defined by the M3UA or SUA protocol, which uniquely identifies the AS in accordance with parameters in the SS7 message. In general, the RK parameters are found in the header of the SS7 message, although it may be desirable to take into account other elements of the message, such as a SMS originating number, MAP (Mobile Access Protocol) parameters or even some aspect of the message content, in order to direct the message to the appropriate AS.
Under some circumstances, knowing the routing key or TID may not be sufficient to enable a message to be routed to the correct application server process. For example, an application server may have a number of ASPs which generate TIDs which may be overlapping. Thus, when a message is received which identifies an application server and includes a transaction ID, that information may still not be sufficient to identify the specific application server process (ASP) to which the message is directed.
To address this problem, it is possible to attempt to configure the ASP's contained in an AS such that they have non-overlapping TID allocation ranges, but this may not always be possible or desirable. It is also possible for an ASP, when an initial message has been received by the ASP from a calling entity, to reply and modify the “called address” included in the reply message. Subsequent messages from the calling entity will use this modified called address which can be used to route the messages to the correct ASP. This however has disadvantages that it supposes that calling entity is able to modify the dialogue context when receiving the first message from the application server process, and in any case in some circumstances modifying the called address may be undesirable or may be potentially unreliable for future message exchanges.